package com.ecnu.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ecnu.system.domain.IncubationFactory;
import com.ecnu.system.domain.dto.SearchConditionDto;
import com.ecnu.system.domain.dto.incubation.FactoryPageDTO;
import com.ecnu.system.domain.vo.Incubation.FactoryPageVO;
import com.ecnu.system.domain.vo.MapVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * ecnu_二期_成果车间 Mapper 接口
 * </p>
 *
 * @author zdn
 * @since 2025-10-16
 */
@Mapper
public interface IncubationFactoryMapper extends BaseMapper<IncubationFactory> {

    List<FactoryPageVO> selectListForUser(@Param("dto") FactoryPageDTO dto);

    List<FactoryPageVO> otherForClaim(@Param("dto") FactoryPageDTO dto,@Param("userId") Long userId);

    List<FactoryPageVO> selectClaimList(@Param("dto") FactoryPageDTO dto, @Param("list") ArrayList<String> list);

    List<MapVO> getConditions();


    List<FactoryPageVO> listForTransfer(@Param("conditions") List<SearchConditionDto> subConditions,
                                        @Param("endTime") String endTime,
                                        @Param("startTime") String startTime,
                                        @Param("typeMap") Map<String, List<String>> map,
                                        @Param("aBoolean") Boolean aBoolean,
                                        @Param("integer")  Integer integer);

}
